#include <iostream>
#include <map>
using namespace std;

// 83.16 %
class Solution
{
  public:
	bool isIsomorphic(string s, string t)
	{
		map<char, char> myMap;
		map<char, char> myMap2;
		for (int i = 0; i < s.size(); i++)
		{
			if (myMap.find(s[i]) == myMap.end())
				myMap[s[i]] = t[i];
			else if (myMap[s[i]] != t[i])
				return false;
		}
		for (int i = 0; i < t.size(); i++)
		{
			if (myMap2.find(t[i]) == myMap2.end())
				myMap2[t[i]] = s[i];
			else if (myMap2[t[i]] != s[i])
				return false;
		}
		return true;
	}
};

int main()
{
	string s = "paper", t = "title";
	cout << Solution().isIsomorphic(s, t) << endl;
	return 0;
}
